package org.jeecg.modules.appuser.entity;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description: box_user
 * @Author: jeecg-boot
 * @Date:   2023-05-27
 * @Version: V1.0
 */
@Data
@TableName("box_user")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="box_user对象", description="box_user")
public class BoxUser implements Serializable {
    private static final long serialVersionUID = 1L;

	/**ID*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "ID")
    private Integer id;
	/**组别ID*/
	@Excel(name = "组别ID", width = 15)
    @ApiModelProperty(value = "组别ID")
    private Integer groupId;
	/**用户名*/
	@Excel(name = "用户名", width = 15)
    @ApiModelProperty(value = "用户名")
    private String username;
	/**昵称*/
	@Excel(name = "昵称", width = 15)
    @ApiModelProperty(value = "昵称")
    private String nickname;
	/**密码*/
	@Excel(name = "密码", width = 15)
    @ApiModelProperty(value = "密码")
    private String password;
	/**密码盐*/
	@Excel(name = "密码盐", width = 15)
    @ApiModelProperty(value = "密码盐")
    private String salt;
	/**电子邮箱*/
	@Excel(name = "电子邮箱", width = 15)
    @ApiModelProperty(value = "电子邮箱")
    private String email;
	/**手机号*/
	@Excel(name = "手机号", width = 15)
    @ApiModelProperty(value = "手机号")
    private String mobile;
	/**头像*/
	@Excel(name = "头像", width = 15)
    @ApiModelProperty(value = "头像")
    private String avatar;
	/**等级*/
	@Excel(name = "等级", width = 15)
    @ApiModelProperty(value = "等级")
    private Integer level;
	/**性别*/
	@Excel(name = "性别", width = 15)
    @ApiModelProperty(value = "性别")
    private Integer gender;
	/**生日*/
	@Excel(name = "生日", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "生日")
    private Date birthday;
	/**格言*/
	@Excel(name = "格言", width = 15)
    @ApiModelProperty(value = "格言")
    private String bio;
	/**星石*/
	@Excel(name = "星石", width = 15)
    @ApiModelProperty(value = "星石")
    private Integer money;
	/**幸运币*/
	@Excel(name = "幸运币", width = 15)
    @ApiModelProperty(value = "幸运币")
    private Integer score;
	/**分销金额*/
	@Excel(name = "分销金额", width = 15)
    @ApiModelProperty(value = "分销金额")
    private String salesmoney;
	/**连续登录天数*/
	@Excel(name = "连续登录天数", width = 15)
    @ApiModelProperty(value = "连续登录天数")
    private Integer successions;
	/**最大连续登录天数*/
	@Excel(name = "最大连续登录天数", width = 15)
    @ApiModelProperty(value = "最大连续登录天数")
    private Integer maxsuccessions;
	/**上次登录时间*/
	@Excel(name = "上次登录时间", width = 15)
    @ApiModelProperty(value = "上次登录时间")
    private Integer prevtime;
	/**登录时间*/
	@Excel(name = "登录时间", width = 15)
    @ApiModelProperty(value = "登录时间")
    private Integer logintime;
	/**登录IP*/
	@Excel(name = "登录IP", width = 15)
    @ApiModelProperty(value = "登录IP")
    private String loginip;
	/**失败次数*/
	@Excel(name = "失败次数", width = 15)
    @ApiModelProperty(value = "失败次数")
    private Integer loginfailure;
	/**加入IP*/
	@Excel(name = "加入IP", width = 15)
    @ApiModelProperty(value = "加入IP")
    private String joinip;
	/**加入时间*/
	@Excel(name = "加入时间", width = 15)
    @ApiModelProperty(value = "加入时间")
    private Integer jointime;
	/**创建时间*/
	@Excel(name = "创建时间", width = 15)
    @ApiModelProperty(value = "创建时间")
    private Integer createtime;
	/**更新时间*/
	@Excel(name = "更新时间", width = 15)
    @ApiModelProperty(value = "更新时间")
    private Integer updatetime;
	/**Token*/
	@Excel(name = "Token", width = 15)
    @ApiModelProperty(value = "Token")
    private String token;
	/**状态*/
	@Excel(name = "状态", width = 15, dicCode = "app_user_state")
	@Dict(dicCode = "app_user_state")
    @ApiModelProperty(value = "状态")
    private String status;
	/**验证*/
	@Excel(name = "验证", width = 15)
    @ApiModelProperty(value = "验证")
    private String verification;
	/**邀请码*/
	@Excel(name = "邀请码", width = 15)
    @ApiModelProperty(value = "邀请码")
    private String invitation;
	/**上级用户ID*/
	@Excel(name = "上级用户ID", width = 15)
    @ApiModelProperty(value = "上级用户ID")
    private String pid;
	/**微信小程序登录标识*/
	@Excel(name = "微信小程序登录标识", width = 15)
    @ApiModelProperty(value = "微信小程序登录标识")
    private String wxMiniOpenid;
	/**unionid*/
	@Excel(name = "unionid", width = 15)
    @ApiModelProperty(value = "unionid")
    private String unionid;
	/**微信APP登录标识*/
	@Excel(name = "微信APP登录标识", width = 15)
    @ApiModelProperty(value = "微信APP登录标识")
    private String wxAppOpenid;
	/**wxunionid*/
	@Excel(name = "wxunionid", width = 15)
    @ApiModelProperty(value = "wxunionid")
    private String wxunionid;
}
